package 力扣.双指针.最长区间;

/**
 * 两个指针，left 指针和 right 指针，
 *          两个指针形成的区间为 (left, right]。这里的开闭原则是‘左开右闭’；
 *
 * 惰性原则，如果把 left 指针当成一个人，那么这个人是非常懒惰的，
 *         他总是要等到火烧屁股（条件不满足了）才向右移动。
 */
public class 模板 {
    private int maxLength(int[] A){
        int  N = A.length;
        //开辟'左指针'
        int left = -1;
        int ans = 0;
        for (int i = 0; i < N; i++) {//检查区间状态是否满足条件
//            1、先判断加入A[i]之前，(left,i-1]是否是一个合法的区间（目前来说可以不用判断）
            //2、将A[i]加到区间中，形成(left,i]
            //3、加入之后，启动惰性原则,判断区间(left,i]是否合法
/*               while (check(left , i] ){//如果不满足条件，移动左指针
                ++left;
            }
*/
            ans = Math.max(ans, (i - left));
        }
        return ans;
    }
}
